﻿Imports System.Media 'doc file âm thanh
Public Class Form1
    Const maxcauhoi As Integer = 25
    Dim tienthuong As String() = {"$100", "$200", "$300", "$500", "$1000", "$2000", "$3600", "$6000", "$9000", "$15000",
                                   "$25000", "$35000", "$50000", "$80000", "$120000"}
    Dim usecauhoi(maxcauhoi) As String
    Dim livecount As Integer = 0 'mức thưởng đang đạt được
    Dim player As New SoundPlayer ' doi tượng chơi nhạc
    Dim count As Integer ' đếm số lần trả lời
    Dim r As New Random ' đối tượng sinh số ngẫu nhiên
    Dim idx As Integer ' số câu hỏi được chọn trong mảng
    Dim choice(3) As String 'mảng chứa 4 câu trả lời
    Dim arrlabels As New ArrayList ' các nhãn thể h
    Dim cauhoi() As String = {
        "Da gồm có mấy lớp?",
        "Đại dương có diện tích nhỏ nhất trong 5 đại dương trên thế giới?",
        "Hiện tượng gây ra bởi sự tán sắc ánh " & vbNewLine & "sáng mặt trời qua các giọt nước mưa có tên là gì?",
        "Diện tích nước Việt Nam rộng khoảng" & vbNewLine & " bao nhiêu km²:",
        "Loài chim nào bay nhanh nhất?",
        "Hiện tượng khi mặt trời, quả đất và mặt trăng" & vbNewLine & " theo thứ tự cùng nằm trên đường thẳng:",
        "Bạn cho biết tên hệ thống núi lớn nhất thế giới?",
        "Văn Miếu, trường đại học đầu tiên của Việt Nam," & vbNewLine & " được xây dựng dưới triều đại nào?",
        "Trong hệ mặt trời hành tinh nào" & vbNewLine & " không có mặt trăng?",
        "Bạn cho biết truyền thuyết nào" & vbNewLine & " thuộc thời kỳ Âu Lạc?",
        "Bạn cho biết tác phẩm nào được viết và đóng" & vbNewLine & " thành sách nặng nhất ở Việt Nam?",
        "Vị trạng nguyên nhỏ tuổi nhất trong" & vbNewLine & " lịch sử thi cử Việt Nam ?",
        "Cầu thủ có biệt hiệu chiếc chân trái ma thuật " & vbNewLine & "bạn có biết cầu thủ này là ai?",
        "Bạn cho biết Thẻ vàng, thẻ đỏ được sử dụng " & vbNewLine & "lần đầu tiên tại World Cup vào năm nào?",
        "Tim dẫn máu đi nuôi các tế bào trong cơ thể,vậy " & vbNewLine & "cái gì sẽ nuôi tim?",
        "Cho đến năm 2001, thứ hạng cao nhất của đòan" & vbNewLine & " Việt Nam qua các kỳ Sea Games là hạng mấy?",
        "Việt Nam trở thành thành viên của Liên Hợp " & vbNewLine & "Quốc năm nào?",
        "Bạn cho biết thủ môn duy nhất trong " & vbNewLine & "lịch sử bóng đá từng giành quả bóng " & vbNewLine & "vàng châu Âu là người nước nào?",
        "Loại cờ nào nhắc đến trong truyện Kiều của" & vbNewLine & " Nguyễn Du?",
        "Hồ nước mặn nào lớn nhất thế giới?",
        "CLB nào duy nhất chưa từng vắng mặt ở các" & vbNewLine & " cúp châu Âu kể từ khi giải này được khởi tranh (1955).",
        "Lò phản ứng hạt nhân đầu tiên của nước ta" & vbNewLine & " nằm ở đâu?",
        "Bạn có biết thành phố nào của Hoa Kỳ có số " & vbNewLine & "đông người Mỹ gốc Việt?",
        "Vùng có tỉ lệ người biết chữ thấp nhất nước ta là:",
        "Tên dân gian của Venus -Kim tinh"}
    Dim traloi() As String = {
        "*3;2;5;4",
        "*Bắc Băng Dương;Thái Bình Dương;Đại Tây Dương;Ấn Độ Dương",
        "*cầu vồng;phản xạ;cực quang;ảo giác",
        "300.000;*330.000;260.000;250.000",
        "Đại bàng;*Chim ưng;Chim cắt;Chim cú mèo",
        "*Nguyệt thực;Hoàng hôn;Giao thừa;Nhật thực",
        "Andes;Alps;Trường Sơn;*Himalaya",
        "*Triều đại nhà " & vbNewLine & "họ Lý;Triều đại nhà" & vbNewLine & " họ Trần;Triều đại nhà" & vbNewLine & " họ Ngô;Triều đại nhà" & vbNewLine & " họ Nguyễn",
        "Trái đất;Mộc tinh;Thủy tinh;*Thủy tinh và Kim tinh",
        "*An Dương Vương;Thánh Gióng;Sơn Tinh-Thủy Tinh;Lạc Long Quân-Âu Cơ",
        "Lục Vân Tiên;Văn tế nghĩa sĩ Cần Giuộc;Số đỏ;*Truyện kiều",
        "Lê Văn Thịnh;*Nguyễn Hiền;Vũ Tuấn Chiêu;Nguyễn Kì",
        "*Rivaldo;Zinédine Zidane;Thierry Henry;Roberto Carlos",
        "1930;1950;*1970;1982",
        "Máu do tâm nhĩ;*Màng mao mạch bao" & vbNewLine & " quanh tim;Oxi;Máu",
        "3;*4;5;6",
        "1989;1979;*1977;1972",
        "Anh;*Nga;Ý;Đức",
        "Cờ tướng;Cờ vua;*Cờ vây;Cờ Othello",
        "*Great Salt Lake;Hồ Victoria;Hồ Michigan;Hồ Thanh Hải",
        "Manchester United;Juventus;*Barcelona;Real Madrid",
        "Hà Nội;Đồng Nai; *Đà Lạt; TP Hồ Chí Minh",
        "San Francisco, California;Houston, Texas;*San Jose,California;Boston,Massachusetts",
        "*Tây Bắc;Đông Bắc;Tây Nguyên;Bắc Trung Bộ",
        "sao khuê;sao chức nữ;sao Mai;*sao mai và sao hôm"
        }



    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        player = New SoundPlayer("aitrieuphu.mp3") ' Nhạc nền
        'tạo mới và đặt các nhãn vào khung groupbox
        For i As Integer = 0 To tienthuong.Length - 1
            Dim lb As New Label
            lb.Text = tienthuong(i)
            lb.Font = New Font("arial", 14, FontStyle.Regular)
            lb.Left = 45
            lb.Top = gpthangdiem.Height - i * lb.Height - 45
            gpthangdiem.Controls.Add(lb)
            arrlabels.Add(lb)
        Next
        thaydoi()


    End Sub
    Private Sub thaydoi()
        For i As Integer = tienthuong.Length - 1 To 0 Step -1
            'đổi màu sau 5 mức thưởng
            If (i + 1) Mod 5 = 0 Then
                arrlabels(i).forecolor = Color.FromArgb(255, 255, 255)
            Else
                arrlabels(i).forecolor = Color.FromArgb(255, 128, 0)
            End If
            arrlabels(i).backcolor = Me.BackColor
            If i = livecount Then
                arrlabels(i).backcolor = Color.Gold
            End If
        Next
    End Sub

    Private Sub gpthangdiem_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gpthangdiem.Enter

    End Sub

    Private Sub btbatdau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btbatdau.Click
        btbatdau.Enabled = False ' ko cho tac dong lan nua
        btdoicau.Enabled = True ' kich hoat 3su tro giup
        bt2lan.Enabled = True
        bt5050.Enabled = True
        hienthicauhoi() 'hiển thị câu hỏi mới
        AddHandler rdA.CheckedChanged, AddressOf hienthicauhoi
        AddHandler RdB.CheckedChanged, AddressOf hienthicauhoi
        AddHandler RdC.CheckedChanged, AddressOf hienthicauhoi
        AddHandler RdD.CheckedChanged, AddressOf hienthicauhoi

    End Sub
    Private Sub hienthicauhoi() 'chọn câu hỏi khác
        Do
            idx = r.Next(maxcauhoi)
        Loop Until usecauhoi(idx) = ""
        'tách câu trả lời thành 4 
        choice = traloi(idx).Split(";") 'gán nôi dung các đạp án cho nút button
        rdA.Text = choice(0).Replace("*", "")  'loại bỏ ký tự * là ký tự đánh dấu câu trả lời đúng
        rdA.Checked = False
        RdB.Text = choice(1).Replace("*", "")
        RdB.Checked = False
        RdC.Text = choice(2).Replace("*", "")
        RdC.Checked = False
        RdD.Text = choice(3).Replace("*", "")
        RdD.Checked = False
        'Hiển thị câu hỏi
        lbcauhoi.Text = cauhoi(idx)
        'lưu lại câu hỏi để lần sau không trùng
        usecauhoi(idx) = cauhoi(idx)

    End Sub
    'tra loi
    Private Sub hienthicauhoi(ByVal sender As Object, ByVal e As EventArgs)
        Dim rd As RadioButton = sender
        Dim i As Integer = rd.Tag
        If rd.Checked Then
            If choice(i).IndexOf("*") >= 0 Then
                'trả lời đúng
                MsgBox(" Bạn Trả lời đúng rồi !")
                'chọn câu hỏi khác
                lbtienthuong.Text = String.Format("Tổng số tiền đạt được {0}", tienthuong(livecount))
                'nâng mức thang điểm
                livecount = livecount + 1
                'tạo câu hỏi mới
                hienthicauhoi()
                'cập nhật lại màu sắc các thang điểm
                thaydoi()
            Else
                'trả lời 2 lần
                If bt2lan.Enabled = False Then
                    count = count + 1
                End If
                MsgBox("Sai rồi bạn ơi !")
                If count = 2 Or bt2lan.Enabled Then
                    'dừng  cuộc chơi nếu trả lời lần 1 hoặc lần 2 bị sai
                    'dungchoi()
                End If
            End If
            'nếu đã đạt được 15 câu hỏi
            If livecount = 15 Then
                'Timecount.Enabled = False
                player = New SoundPlayer("I_Win.wav")
                player.PlayLooping()
                MsgBox("Xin chúc mừng - Bạn là triệu phú ")
            End If
        End If
    End Sub

    Private Sub bt2lan_Click(sender As System.Object, e As System.EventArgs) Handles bt2lan.Click
        sender.enabled = False
        sender.text = "X"
    End Sub

    Private Sub bt5050_Click(sender As System.Object, e As System.EventArgs) Handles bt5050.Click
        sender.enabled = False
        sender.text = "X"
        'loại bỏ 2 câu sai
        Dim t As Integer = 0
        For n As Integer = 0 To 3
            If choice(n).IndexOf("*") < 0 Then
                choice(n) = "-------------"
                t = t + 1
            End If
            If t = 2 Then Exit For
        Next
        rdA.Text = choice(0).Replace("*", "")
        RdB.Text = choice(0).Replace("*", "")
        RdC.Text = choice(0).Replace("*", "")
        RdD.Text = choice(0).Replace("*", "")
    End Sub

    Private Sub btdoicau_Click(sender As System.Object, e As System.EventArgs) Handles btdoicau.Click
        sender.enabled = False
        sender.text = "X"
        'tạo câu hỏi mới
        hienthicauhoi()
    End Sub
    'chấm dứt chương trình
    Private Sub dungchoi()
        'Timecount.Enabled = False
        livecount = Math.Max(livecount - 1, 0)
        Dim WinPrice As Decimal = cauhoi(livecount).Replace("$", "")
        'giải thưởng là tổng số điểm đạt được chia đôi
        MsgBox(String.Format("Số tiền bạn nhận được là {0} - Lần sau bạn sẽ may mắn hơn.", WinPrice / 2))
        Me.Close()
    End Sub
End Class
